// 1. 把接口地址公共的域名部分省略掉，不想每次都写完整的
// 2. 如果有token的话，把token放在请求头中
// 3. 可以自定义请求头
// 4. 统一处理 判断接口状态码是否是200，不是200的话给一个提示并抛出异常
// 5. 把uni.request给接口返回的数据添加的一层数据干掉

const request = ({
	url,
	header = {},
	method = 'GET',
	data = {}
}) => {
	console.log(import.meta.env) // {MODE: 'development'}
	const token = uni.getStorageSync('token')
	const realHeader = token ? {...header, token} : header
	// const realHeader = {}
	// if(token) {
	// 	realHeader = {...header, token}
	// 	// {contentType: 'application/json',token: 12}
	// } else  {
	// 	realHeader = {...header}
	// 	// {contentType: 'application/json'}
	// }
	
	const baseUrl = import.meta.env.MODE === 'development' ? 'http://localhost:8002' : 'www.baidu.com'
	
	return new Promise((resolve, reject) => {
		uni.request({
			url: baseUrl + url,
			method,
			data,
			header: realHeader,
			success(res) {
				if(res.statusCode === 200) {
					// 把res.data吐出去
					resolve(res.data)
				} else {
					uni.showToast({
						title:'服务器请求失败'
					})
					reject('服务器异常')
				}
			},
			fail(err) {
				uni.showToast({
					title:'服务器请求失败'
				})
				reject('服务器异常')
			}
		})
	})
	
	
}

export default request

// {
// 	contentType: 'application/json',
// }

// Promise